Many information processing systems are configured to replicate data from a storage system at one site to a storage system at another site. In some cases, such arrangements are utilized to support disaster recovery functionality within the information processing system. For example, an enterprise may replicate data from a production data center to a disaster recovery data center. In the event of a disaster at the production site, applications can be started at the disaster recovery site using the data that has been replicated to that site so that the enterprise can continue its business.
Data replication in these and other contexts can be implemented using asynchronous replication at certain times and synchronous replication at other times. For example, asynchronous replication may be configured to periodically transfer data in multiple cycles from a source site to a target site, while synchronous replication may be configured to mirror host writes from the source site to the target site as the writes are made at the source site. Source site and target site storage systems can therefore each be configured to support both asynchronous and synchronous replication modes.
Conventional approaches to data replication can be problematic under certain conditions. For example, in conjunction with a transition from an asynchronous replication mode to a synchronous replication mode, it is possible that race conditions may arise depending upon the timing of the initiation of the synchronous replication mode. Such race conditions may lead to situations in which one or more data pages are not properly replicated in either the asynchronous replication mode or the synchronous replication mode, thereby making it difficult to preserve target replica consistency and undermining the efficiency of the data replication process. This can in turn make it difficult to achieve a desired recover point objective within the information processing system.